package com.tledu.email.service;

import java.util.List;

import com.tledu.email.domain.EmailTableOutbox;

/**
 * 邮箱发件箱Service接口
 *
 * @author ruoyi
 * @date 2024-08-29
 */
public interface IEmailTableOutboxService {
    /**
     * 查询邮箱发件箱
     *
     * @param id 邮箱发件箱主键
     * @return 邮箱发件箱
     */
    public EmailTableOutbox selectEmailTableOutboxById(Long id);

    /**
     * 查询邮箱发件箱列表
     *
     * @param emailTableOutbox 邮箱发件箱
     * @return 邮箱发件箱集合
     */
    public List<EmailTableOutbox> selectEmailTableOutboxList(EmailTableOutbox emailTableOutbox);

    /**
     * 新增邮箱发件箱
     *
     * @param emailTableOutbox 邮箱发件箱
     * @return 结果
     */
    public int insertEmailTableOutbox(EmailTableOutbox emailTableOutbox);

    /**
     * 修改邮箱发件箱
     *
     * @param emailTableOutbox 邮箱发件箱
     * @return 结果
     */
    public int updateEmailTableOutbox(EmailTableOutbox emailTableOutbox);

    /**
     * 批量删除邮箱发件箱
     *
     * @param ids 需要删除的邮箱发件箱主键集合
     * @return 结果
     */
    public int deleteEmailTableOutboxByIds(Long[] ids);

    /**
     * 删除邮箱发件箱信息
     *
     * @param id 邮箱发件箱主键
     * @return 结果
     */
    public int deleteEmailTableOutboxById(Long id);

    // 查询当前用户发件箱的信息
    List<EmailTableOutbox> sendList(EmailTableOutbox emailTableOutbox);

    // 根据条件查找当前用户发件箱信息
    List<EmailTableOutbox> selectByCondition(EmailTableOutbox emailTableOutbox);

    // 逻辑删除用户发件箱的内容，实际上是进行更新操作
    int updateSymbol(Long[] ids);
}
